package edu.ues21.tcs.ecommerce2011.mvc.dao;

import java.util.List;
import org.hibernate.SessionFactory;
import org.springframework.orm.hibernate3.HibernateTemplate;
import org.springframework.transaction.annotation.Transactional;
import edu.ues21.tcs.ecommerce2011.mvc.model.Marca;
/**
*
* @author eandre fmantaras
*/
@Transactional
public class MarcaDAOImpl implements MarcaDAO{

	// Declaro el hibernate template.
	private HibernateTemplate hibernateTemplate;

	// Le seteo el sessionFactory que le inyecto al hibernateTemplate.
	public void setSessionFactory(SessionFactory sessionFactory) {
		this.hibernateTemplate = new HibernateTemplate(sessionFactory);
	}

	public void save(Marca marca) {
			
		hibernateTemplate.merge(marca);
	}

	public void delete(Integer idMarca) {
		
		Marca marca = (Marca) hibernateTemplate.get(Marca.class,idMarca);
		
		hibernateTemplate.delete(marca);
	}

	@SuppressWarnings("unchecked")
	@Transactional(readOnly = true)
	public List<Marca> getAll() {

		return hibernateTemplate.find("from Marca");
	}

	@Transactional(readOnly = true)
	public Marca getMarca(Integer idMarca) {

		return hibernateTemplate.get(Marca.class, idMarca);
	}

}
